// auth.js

// 模拟用户数据存储
let users = JSON.parse(localStorage.getItem('users')) || [];

// 邮箱验证正则表达式
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

// 密码强度验证正则表达式（至少8个字符，包含字母和数字）
const passwordRegex = /^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/;

// 注册功能
function register(name, email, password, repeatPassword) {
    // 简单的验证
    if (!name) {
        alert('用户名不能为空');
        return;
    }
    if (!emailRegex.test(email)) {
        alert('请输入有效的邮箱地址');
        return;
    }
    if (!passwordRegex.test(password)) {
        alert('密码必须至少8个字符，包含字母和数字');
        return;
    }
    if (password !== repeatPassword) {
        alert('两次输入的密码不一致');
        return;
    }
    if (users.some(user => user.email === email)) {
        alert('该邮箱已被注册');
        return;
    }

    // 存储新用户
    users.push({ name, email, password });
    localStorage.setItem('users', JSON.stringify(users));
    alert('注册成功!');
    window.location.href = 'login.html'; // 注册成功后重定向到登录页面
}


// 登录功能
function login(email, password) {
    const user = users.find(user => user.email === email && user.password === password);
    if (user) {
        alert('登录成功!');
        window.location.href = 'main.html';
        // 可以在这里添加重定向逻辑
    } else {
        alert('邮箱或密码错误');
    }
}

// 忘记密码功能
function forgotPassword(email) {
    const user = users.find(user => user.email === email);
    if (user) {
        // 模拟发送重置密码邮件
        const resetToken = Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);
        user.resetToken = resetToken;
        localStorage.setItem('users', JSON.stringify(users));

        // 模拟邮件内容
        const resetLink = `http://example.com/reset-password?token=${resetToken}`;
        alert(`重置密码链接已发送到您的邮箱: ${email}\n\n重置链接: ${resetLink}`);
    } else {
        alert('该邮箱未注册');
    }
}


// 表单提交事件监听
document.addEventListener('DOMContentLoaded', () => {
    document.querySelectorAll('.user-form').forEach(form => {
        form.addEventListener('submit', function (e) {
            e.preventDefault();

            if (this.classList.contains('register-form')) { // 注册表单
                const name = this.querySelector('input[type="text"]').value;
                const email = this.querySelector('input[type="email"]').value;
                const password = this.querySelector('input[type="password"]:first-child').value;
                const repeatPassword = document.getElementById("repeatPassword").value;
                register(name, email, password, repeatPassword);
            } else if (this.classList.contains('login-form')) { // 登录表单
                const email = this.querySelector('input[type="email"]').value;
                const password = this.querySelector('input[type="password"]').value;
                login(email, password);
            } else if (this.classList.contains('forgot-password-form')) { // 忘记密码表单
                const email = this.querySelector('input[type="email"]').value;
                forgotPassword(email);
            }
        });
    });
});
